package org.example.maibobo.encode;

import java.nio.ByteBuffer;
import java.time.LocalDateTime;

import static org.example.util.ProcessorUtil.calculateChecksum;
import static org.example.util.ProcessorUtil.encodeTimestamp;

public class CheckAndResetTimeEncodeResponse {

    public static byte[] encodeProtocol() {
        ByteBuffer buffer = ByteBuffer.allocate(12);

        // 前导码
        buffer.put((byte) 0xAA);
        buffer.put((byte) 0x80);

        // 传输方式
        buffer.put((byte) 0x05);

        // 长度
        buffer.put((byte) 0x07);

        // 应答类型
        buffer.put((byte) 0x01);

        // 应答数据
        buffer.put((byte) 0x02);

        // 时间戳
        buffer.put(encodeTimestamp(LocalDateTime.now()));

        // 校验位
        byte checksum = calculateChecksum(buffer.array(), 2, buffer.array().length - 1);
        buffer.put(checksum);

        return buffer.array();
    }
}
